home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_2 / rds_v120.zip / RDSDOCEN.DOC < prev    next >
Text File  |  1991-02-05  |  89KB  |  1,897 lines

  1. ╔══════════════════════════════            ┌─────────────────┐
  2. ║ RDS       Remote Dos Shell               │    D.I.S.P.     │────┐
  3. ║           For Bulletin Boards            │                 │░░░░│
  4. ╟──────────────────────────────            │                 │░░░░│
  5. ║ (c) 1991  Robert W.van Hoeven            │ Dutch           │░░░░│
  6. ╟──────────────────────────────            │   Independent   │░░░░│
  7. ║ Release : 1.20                           │     ShareWare   │░░░░│
  8. ║ Rel.Date: 5th February 1991              │       Programmer│░░░░│
  9. ╠══════════════════════════════            └─────────────────┘░░░░│
  10. ║                                          |    │░░░░░░░░░░░░░░░░░│
  11. ║ │ RDS.EXE                                |    └─────────────────┘
  12. ║ │ RDS.CTL                                |       ┌─────┐        |
  13. ║ │                                        |       │░░░░░│        |
  14. ║ │                                        |       └──┬──┘        |
  15. ║ │ Lines starting with '|' are            |     ┌────┴────┐      |
  16. ║ │ changes to release 1.10 !!             ------││││││ ═══│-------
  17. ║                                                └─────────┘
  18. ╠═══════════════════════════════
  19. ║ Address: Robert W. van Hoeven
  20. ║          PO. Box 131
  21. ║          1170 AC  Badhoevedorp
  22. ║          Nederland / Holland
  23. ╚═══════════════════════════════
  24.  
  25.  ┌───────┬─────────────────────────────────────────────────────────────┐
  26.  │   0   │ Table of contents                                           │
  27.  └───────┴─────────────────────────────────────────────────────────────┘
  28.  
  29.  1 ---- General information
  30.   1.1   Copyrights and License Agreement
  31.   1.2   Newer versions and contacting the author
  32.  
  33.  2 ---- Package description and requirements
  34.   2.1   Preface
  35.   2.2   Requirements
  36.   2.3   Included files
  37.   2.4   Introduction
  38.   2.5   Specifications
  39.  
  40.  3 ---- Installation description
  41.   3.1   Installation
  42.   3.2   RDS.CTL
  43.   3.3   Available commands
  44.   3.4   Security
  45. │ 3.5   Macro's, expansion and command-stacking
  46. │ 3.6   Help file format
  47.  
  48.  4 ---- Runtime information
  49.   4.1   While inside the RDS shell
  50.   4.2   LOG file
  51.   4.3   Errors
  52.   4.4   Specialized command-line options
  53.  
  54.  5 ---- Version information and credits
  55.   5.1   The BETA-team
  56.   5.2   Credits
  57.   5.3   Version history
  58.   5.4   Copyright, Trademarks
  59.  
  60.  ┌───────┬─────────────────────────────────────────────────────────────┐
  61.  │   1   │ General information                                         │
  62.  └───────┴─────────────────────────────────────────────────────────────┘
  63.  
  64.  1.1 Copyrights and Licence Agreement
  65.  ────────────────────────────────────
  66.  
  67.  - Users of the RDS-package must accept this disclaimer of warranty:
  68.  
  69.  - The RDS-package is supplied as is.  The author disclaims all
  70.    warranties, expressed or implied, including, without limitation,
  71.    the warranties of merchantability and of fitness for any purpose.
  72.    The author assumes no liability for damages, direct or consequential,
  73.    which may result from the use of the RDS-package;
  74.  
  75.  - The RDS-package is a "shareware program" and is provided at no charge
  76.    to the user for evaluation.  Feel free to share it with your friends,
  77.    but please do not give it away altered or as part of another system.
  78.    The essence of "user-supported" software is to provide personal
  79.    computer users with quality software without high prices, and yet to
  80.    provide incentive for programmers to continue to develop new products.
  81.  
  82.  - If you find this program useful and find that you are using and
  83.    continue the use of the RDS-package after a 30 days trial period,
  84.    you must register the RDS-package as described below;
  85.  
  86.  - Non-commercial can get a licence for the usage up to this release
  87.    of the RDS-package for a small amount of money. Look into the
  88.    details in REGISTER.RDS.
  89.    For Non-commercial users there is a POSSIBILITY to submit to one
  90.    of the special contracts as explained in the file REGISTER.RDS.
  91.  
  92.  - Commercial usage of RDS will cost somewhat more. Also, a so called
  93.    'closed' Bulletin Board System (a system where the user must pay
  94.    direct to the SysOp to get full access) is has to pay more than
  95.    a Non-commercial user. Both types of users should look into the
  96.    details in REGISTER.RDS;
  97.  
  98.  - The registration of the RDS-package will licence ONE copy for use on
  99.    any computer at any one time, as long as the usage confirms to the
  100.    type of registration you have done (so NON-commercial usage when you
  101.    have a non-commercial licence);
  102.  
  103.  - Anyone distributing the RDS-package for any kind of remuneration must
  104.    first contact the Author at the address above for authorization.
  105.  
  106.  - You are encouraged to pass a copy of the RDS-package along to your
  107.    friends for evaluation.  Please encourage them to register their
  108.    copy if they find that they can use it;
  109.  
  110.  - Support on RDS, when used in a non-commercial environment, is
  111.    available by means of written letters or by entering the inter-
  112.    national echomaol area DISP;
  113.  
  114.  - Problems and suggestions can be entered in the FidoNet <tm> Echomail
  115.    conference <tm> called DISP (international). Entering this echo does
  116.    not exclude you of the duty to register the RDS-package, though users
  117.    who evaluate the product can enter the echo for questions;
  118.  
  119.  - The RDS-package, all programs, the documentation and support-files is
  120.    copyrighted 1990 by Robert W. van Hoeven, PO. Box 131, Badhoevedorp
  121.    1170AC, Holland. All rights are reserved. You may copy this package
  122.    for backup purposes. Also you may copy and share unmodified copies of
  123.    the whole package, providing that the copyright notice is reproduced
  124.    and included on all copies.
  125.    Excluded from this statement are the support-files written by other
  126.    authors. Please refer to the documentation of these programs for
  127.    copyrights and licence agreements;
  128.  
  129.  - It is forbidden to modify, adapt, translate, reverse engineer, de-
  130.    compile and/or disassemble the software in the RDS-package. Patching
  131.    the medium at places that carry the software is seen as a program
  132.    change and is also forbidden. It is forbidden to create a so called
  133.    'bypass' to skip the original introduction screens and delay. Also
  134.    it is forbidden to use such a 'bypass' unless supplied by the author
  135.    (Robert W. van Hoeven) himself;
  136.  
  137.  - Performing any of the illegal actions as stated in the previous
  138.    lines, is a theft and no fair play to the author and, more important,
  139.    to the registered users;
  140.  
  141.  - Bulletin Board Systems that distribute the RDS package can convert
  142.    the WHOLE package to any archive-system they like but all original
  143.    files must be included in the new archive. The RDS-package on the
  144.    Bulletin Board can contain at the most 2 extra files. These files
  145.    can only be a commercial for that Bulletin Board and/or validation
  146.    data that is presented as a service to all users and shall have no
  147.    other functions;
  148.  
  149.  - After the normal trial period of 30 days, you must register the soft-
  150.    ware (see REGISTER.RDS) or you must remove it from your PC;
  151.  
  152.  - Comments, suggestions and bug reports are welcome and will be answered
  153.    as soon I have the time to do so. You can send me a letter of leave a
  154.    NetMail <tm> message named to Rob Van.hoeven (mind the point) on node
  155.    2:512/100 (RA Support, Monster, Holland, SysOp is Reinier de Groot).
  156.    When you want to send me normal mail, address it to:
  157.    Robert W. van Hoeven, PO. Box 131, 1171 AC Badhoevedorp, Holland;
  158.    Also you can enter messages in the FidoNet <tm> DISP Echomail <tm>
  159.    area;
  160.  
  161.  
  162.  1.2 Newer versions and contacting the author
  163.  ────────────────────────────────────────────────────────────────────────
  164.  The newest version of RDS is always available at the DISP-HQ on node
  165.  2:512/100. RDS is also distributed thru a number of DISP support nodes.
  166.  You can obtain RDS in four different ways:
  167.  
  168.  - Logging on at DISP-HQ or a support node
  169.  
  170.    All zones :  2:512/100 (Multiline Paradise NL  )       DISP-HQ
  171.                           (Sysop: Reinier de Groot)
  172.  
  173.    For zone 1:  1:203/988 (Amber Shadow           )       Support & beta
  174.                           (Sysop: Dave Overton    )
  175.  
  176.    For zone 2:  2:280/4   (Sirex              NL  )       Support & beta
  177.                           (Sysop: Gerry Ulrich    )
  178.                 2:242/4   (GOLEM    Meerbusch FRG )       Support & beta
  179.                           (Sysop: Hanstheo Wolf   )
  180.                 2:244/12  (FunBoard Felbert   FRG )       Support & beta
  181.                           (Sysop: Dirk Astrath    )
  182.  
  183.    The BBS's above will always have the most current version of RDS
  184.    available. Also, in some cases, it is possible to request the
  185.    newest RDS with a standard file-request (ask the SysOp in question).
  186.    On 2:512/100 you can use RDSNEW as magical name to Freq. the newest
  187.    version.
  188.    The actual DISP-HQ is point 2:512/100.5, but this is a closed system
  189.    and can not be accessed from the 'outside'). You CAN address netmail
  190.    to this point though !
  191.  
  192.  - Logging on to a SDS node
  193.    RDS is distributed thru SDS/SDN, but only big minors (x.10, x.20 and
  194.    so on) and majors (14.01, 15.01 and so on) are submitted to the SDS
  195.    distribution point in Holland;
  196.  
  197.  - Logging on to your own BBS;
  198.    Chances are, that you will find an older version (international
  199.    users) because it will take some time for the new version to
  200.    'bleed' thru the net;
  201.  
  202.  - Update service;
  203.    You can enter a special update service (read REGISTER.RDS).
  204.  
  205.  
  206.  If you think you have found problems in RDS, or in any other case,
  207.  you wish to contact the author, you can send me:
  208.  
  209.  - A letter to the address you can find in the header of this file;
  210.  - A NetMail <tm> message to Rob Van.hoeven (please mind the point
  211.    between Van and Hoeven) at 2:512/100 or (better) 2:512/100.5;
  212.  - A Message in the FidoNet <tm> DISP echomail <tm> area;
  213.  
  214.  
  215.  ┌───────┬─────────────────────────────────────────────────────────────┐
  216.  │   2   │ Package description and requirements                        │
  217.  └───────┴─────────────────────────────────────────────────────────────┘
  218.  
  219.  2.1 Preface
  220.  ────────────────────────────────────────────────────────────────────────
  221.  Please notice the following:
  222.  
  223.  - RDS is a ShareWare product in every right way, this means this
  224.    software is not crippled in any way. There are only some changes
  225.    to the registered version but the only have to do with cosmetic
  226.    changes (no delays, your (BBS) name in the start-up header and
  227.    so on);
  228.  
  229.  
  230.  2.2 Requirements
  231.  ────────────────────────────────────────────────────────────────────────
  232.  RDS requires:      - PC XT/AT/386
  233.                     - At least 180K free memory under the BBS;
  234.                     - DOS 3.xx or higher;
  235.                     - HDU optional
  236.                     - A full functional BBS with an exit to doors.
  237.                       RDS 'knows' specifically about Remote Access <tm>
  238.                       but can run under any BBS that creates the
  239.                       files EXITINFO.BBS and DORINFO1.DEF. Even when
  240.                       the BBS does not create such files, you could
  241.                       use a conversion tool that creates these files
  242.                       for you (look into the BBS-area's on the bigger
  243.                       boards);
  244.  
  245.  
  246.  2.3 Included files
  247.  ────────────────────────────────────────────────────────────────────────
  248.  The package includes : RDS.EXE         The main program
  249.                         RDS.CTL         A sample RDS.CTL file
  250.                         RDS.ANS         A sample file for KILLNICE
  251. │                       RDS.HLP         Help file
  252.                         Documentation
  253.  
  254.  
  255.  
  256.  2.4 Introduction
  257.  ────────────────────────────────────────────────────────────────────────
  258.  Many SysOp's struggle with specialized doors to get REMOTE (and local)
  259.  access to DOS functions. Most of these SysOp's will only use the normal
  260.  DOS-commands when working in such a door when they use such a door as
  261.  a maintenance door for them self (when being remote) or their Co-Sysop
  262.  (this 'creature' or 'creatures' are almost always remote <grin>). To
  263.  give remote access to yourself or the Co-Sysop(s) means you have to
  264.  implement special functions/doors. Some of these doors give you the
  265.  access to normal programs (even when they normally could not work
  266.  remote) but most of the time, this is not what you (or your 'Co')
  267.  needs.
  268.  
  269.  Also there are some major drawbacks to any type of 'real-dos' doors:
  270.  
  271.  - Some of these doors (Gateway alike doors, batch-files with CTTY com-
  272.    mands and so on) can NOT access most of the normal programs, because
  273.    these programs do direct screen access (not to be displayed while
  274.    working remote) and keyboard access, not to be captured from a re-
  275.    mote session, thus forcing a 'hangup' (you can't 'see' a thing and
  276.    you can't enter a key even when you know the combinations). This
  277.    problem is 'captured' with a carrier-watchdog, thus forcing a re-
  278.    boot when you hang-up the phone and also taking all other users
  279.    down with you (when running multiple lines in one machine) or
  280.    forcing a hangup (some combinations of multitasking software and
  281.    a reboot cause hangups);
  282.  
  283.  - Some doors can access normal programs that are not covered by the
  284.    previously mentioned doors. But in multitasking environments, these
  285.    functions are dangerous and can (still) cause hangups. Also the re-
  286.    mote site should use a 'doorway-mode' in the software otherwise
  287.    serious damage to the fingers (and brains for that matter) could
  288.    occur. Most of the supplied features are never needed and should
  289.    (in fact) be kept away from your 'Co';
  290.  
  291.  - Normal DOS-doors don't have BBS-specific functions like those
  292.    implemented for Remote Access <tm>;
  293.  
  294.  If you need special programs to run remote (not DOS-commands, but
  295.  real programs, some DOS-commands are real programs for that matter,
  296.  but still) and these programs have nothing to do with DOS-commands
  297.  and/or some specialized BBS-features, RDS will not be your taste of
  298.  door. If you want a FULLY secured access to most of the normal DOS-
  299.  commands (please read the chapter about security) AND something more,
  300.  RDS could be worth trying,
  301.  
  302.  
  303.  
  304.  2.5 Specifications
  305.  ────────────────────────────────────────────────────────────────────────
  306.  Those who took the time to read the introduction will have a general
  307.  picture of RDS. A brief summary of the functions:
  308.  
  309.  RDS can:
  310.  
  311.  - Give access to most DOS-commands without entering DOS itself, thus
  312.    creating a fully controlled (carrier!), secured (read on!) and com-
  313.    patible DOS-environment;
  314.  - Give all the normal DOS-commands (DIR, DEL, REN, MOVE, COPY, CD, RD
  315.    MD, drive switching, VER, MEM, TYPE and so on), some of them being
  316.    an extension to DOS (MEM and MOVE);
  317.  - Control all access to RDS (based on the name of the user) and control
  318.    all access inside RDS (based on drives, directories and files);
  319.  - In fact, give ANY normal user the (controlled) access to DOS-
  320.    commands you specify and only for files, drives and directories you
  321.    allow. The next version after 1.01 (to be released soon) will give
  322.    you simple tools to configure such an environment without entering
  323.    all users yourself;
  324.  - Make use of a subset of commands specialized for Remote Access and
  325.    a special subset of generalized commands that can be used while
  326.    being remote;
  327.  - Make use of special BBS commands like Upload and Download, controlled
  328.    with RDS security and available at any place while inside RDS;
  329.  - Suit your needs. The only thing you have to do is to enter a message
  330.    with suggestions you have and features you would like to see in RDS
  331.    and maybe you'll see these features in the next release;
  332.  - Can call any program you like, but it is not possible to call a
  333.    program that needs input during its execution;
  334.  
  335.  What RDS can't now, but can do soon:
  336.  
  337.  - Simple FILES.BBS changing with some FILES.BBS editing functions;
  338.  - Access to DOS-programs like SUBST, ATTRIB, CHKDSK and so on, still
  339.    keeping control;
  340.  - Access normal compressor programs like PKZIP, ARC, PAK, LHARC and
  341.    so on. These will be run 'under' RDS-control;
  342.  
  343.  What RDS can't:
  344.  
  345.  - Executing 'normal' programs like your compiler, full-screen editor,
  346.    mind-blowing arcade games and so on. For this functions you need a
  347.    real DOS-door on your system IF this program needs input or writes
  348.    its output directly to the screen-buffer AND you need to see this
  349.    output;
  350.  - FORMAT. It will never support such a function, it is to big a risk
  351.    to implement such functions.
  352.  
  353.  Mostly it is up to you as a user, to keep on giving suggestions. RDS
  354.  is a modular program. Implementing functions is (relative) easy if
  355.  they are straight-forward. Something like 'Let RDS talk to me' will
  356.  take some time <grin>.
  357.  
  358.  For all its functions RDS 'leans' heavily on it's own control-file.
  359.  
  360.  ┌───────┬─────────────────────────────────────────────────────────────┐
  361.  │   3   │ Installation description                                    │
  362.  └───────┴─────────────────────────────────────────────────────────────┘
  363.  
  364.  3.1 Installation
  365.  ────────────────────────────────────────────────────────────────────────
  366.  People who think that installing RDS is difficult should consider to
  367.  read a DOS-manual. If you can install a BBS (and you did that, I ima-
  368.  gine), you can install RDS !
  369.  
  370.  If you have any problems with the installation than enter a message
  371.  in the DISP echomail area or send me a NetMail message. I can read,
  372.  speak and write English, German and Dutch.
  373.  
  374.  Now for the installation itself. I'll use an installation in a
  375.  Remote Access environment. QuickBBS <tm> users should also have
  376.  no problems, other BBS-types could need special programs to create
  377.  the EXITINFO.BBS and DORINFO1.DEF files and their structures.
  378.  
  379.  - Place RDS.EXE in some directory;
  380.  
  381. │- Place RDS.HLP in the same directory (or somewhere else) as the
  382. │  RDS.EXE file. You can use RDS.CTL parameter to point to the
  383. │  RDS.HLP file. If you still use a version 1.10 or less and you
  384. │  have translated all *.RDS (old 1.10 and earlier versions HELP
  385. │  files) to your own format, you should read the CONVHELP.RDS
  386. │  file for details;
  387.  
  388.  - Create a RDS.CTL (or alike) file. This can be done in several
  389.    ways:
  390.    - Under the name RDS.CTL in the directory where RDS.EXE is stored
  391.      (when running under DOS 3.xx or higher);
  392.    - Under the name RDS.CTL somewhere in the DOS-path (DOS 2.xx and
  393.      up);
  394.    - Under the name RDS.CTL in the directory that is CURRENT when
  395.      your BBS executes a door program;
  396.    - Under the name RDS.CTL in any directory, provided you create a
  397.      variable in the DOS-environment with the format:
  398.      RDS=[drive][directory]\RDS.CTL or
  399.      RDS=[drive][directory]\
  400.    - Under any name, anywhere, provided you create a variable in the
  401.      DOS-environment with the format:
  402.      RDS=[drive][directory]\[name_of_your_CTL]
  403.    Below is a description of what you can (or must) enter in the
  404.    RDS.CTL file;
  405.  
  406.  - Create a type 7/15 menu entry in your BBS with some security level.
  407.    Use the following call to RDS in the data-field:
  408.    [drive][directory]\RDS.EXE
  409.    RDS now has some command-line options to consider. Please read
  410.    chapter xx.xx about the functions and how to implement them !
  411.    RDS does not need (or knows about) any command-line option.
  412.    Use the *M option in a Remote Access environment when you can
  413.    (look into the DOX) or call RDS from a type 15 when memory is
  414.    low. RDS uses between 110K and 180K under your BBS (depending on
  415.    the functions you want to support). Other BBS types should use a
  416.    'exit from BBS' like the type 15 in RA and QuickBBS;
  417.  
  418.  - Edit the file RDS.ASC to a format you like (if you want to use
  419.    the command KILLNICE) and place it somewhere in a directory;
  420.  
  421.  - Everything is ready to run. Try RDS yourself (local) first before
  422.    your users are frustrated over a menu they can call and that seems
  423.    to do nothing. Work away all errors and let it go loose for a remote
  424.    job !
  425.  
  426.  
  427.  That's all there is to. The first part is done. Now take some time to
  428.  create the CTL-file.
  429.  
  430.  
  431.  
  432.  3.2 RDS.CTL
  433.  ────────────────────────────────────────────────────────────────────────
  434.  The RDS.CTL file is a normal text-file (ASCII-file). You can create
  435.  this file with program's like EDLIN or any other ASCII-editor.
  436.  RDS.CTL must be in the DOS-path (DOS 2.xx) or in the same directory
  437.  as RDS.EXE (DOS 3.xx).
  438.  
  439.  Also it is possible to access the RDS control-file in the following
  440.  ways:
  441.  
  442.  - The usage of an environment variable RDS
  443.    1) When the value of this variable terminates with a backslash (\),
  444.       RDS assumes the value is a path and adds RDS.CTL to the variable
  445.       and searches for this file;
  446.    2) When the value of this variable does NOT terminate with a back-
  447.       slash (\), RDS assumes that the variable is a full path and
  448.       name to the control-file and RDS will try to find it;
  449.  
  450.  - The usage of the /CTL[drive:][path][name] option. RDS will search
  451.     for the supplied filename on the supplied drive and in the
  452.     supplied directory;
  453.  
  454.  
  455.  RDS.CTL contains many options. Some of them optional, some of them not.
  456.  The general format for the RDS.CTL file is:
  457.  
  458.  Option {parameter} {parameter} ..... {parameter}
  459.  
  460.  There are NO restrictions to the position you start the command, nor
  461.  the starting position of the (optional) parameters, but the 'option'
  462.  and (if present) the 'parameters' have to be separated with one or
  463.  more spaces. You can make any mixture of upper and lower case !
  464.  
  465.  A generalized example of RDS.CTL is included in the release-file. It
  466.  contains ALL options available in this release.
  467.  
  468.  RDS.CTL can (or must) contain the following statements:
  469.  
  470.  ┌─────────────────────────────────────────────────────────────────────┐
  471.  │ RegistrationName [name]                                             │
  472.  └─────────────────────────────────────────────────────────────────────┘
  473. │Usage : This option has only a meaning when you received a key after
  474. │        you registered RDS. You can not use it when you are using RDS
  475. │        in the (unregistered) trial period;
  476.  
  477.  Relate: None
  478.  
  479.  
  480. │┌─────────────────────────────────────────────────────────────────────┐
  481. ││ RegistrationKey [key]                                               │
  482. │└─────────────────────────────────────────────────────────────────────┘
  483. │Usage : This option is now obsolete and should (must) be removed from
  484. │        RDS.CTL. Registered users, please read the REG_USER.RDS file.
  485.  
  486.  
  487.  ┌─────────────────────────────────────────────────────────────────────┐
  488.  │ BBSType RA|QBBS                                                     │
  489.  └─────────────────────────────────────────────────────────────────────┘
  490.  Usage : This parameter is mandatory. You must supply RA or QBBS even
  491.          if you don't use the RA or QuickBBS programs but a compatible
  492.          BBS. The difference between RA and QBBS is, that with RA, you
  493.          get the RA subset (useless when not running under RA) and with
  494.          QBBS these commands are not present.
  495.  
  496.  Relate: BBSDirectory
  497.  
  498.  
  499.  ┌─────────────────────────────────────────────────────────────────────┐
  500.  │ BBSDirectory  [path]                                                │
  501.  └─────────────────────────────────────────────────────────────────────┘
  502.  Usage : This option is only needed (and mandatory) when you supplied
  503.          the 'BBSType RA' option. [path] must point to the Remote Access
  504.          system directory. This is the directory containing CONFIG.RA,
  505.          USERON.BBS and so on.
  506.          RDS will check if the directory is valid and contains the file
  507.          CONFIG.RA.
  508.  
  509.  Relate: BBSType
  510.  
  511.  
  512.  ┌─────────────────────────────────────────────────────────────────────┐
  513.  │ BBSWorkDirectory  [path]                                            │
  514.  └─────────────────────────────────────────────────────────────────────┘
  515.  Usage : If, for any reason, you want RDS to point to a specific
  516.          directory containing EXITINFO.BBS and DORINFO1.DEF, you need
  517.          this option to point to that directory. Normally RDS will
  518.          look in the BBSPath directory (QBBS) or in the CURRENT di-
  519.          rectory (RA) for these files.
  520.  
  521.  Relate: BBSType
  522.  
  523.  
  524. │┌─────────────────────────────────────────────────────────────────────┐
  525. ││ HelpDirectory [path]                                                │
  526. │└─────────────────────────────────────────────────────────────────────┘
  527. │Usage : This option can point to a directory containing RDS.HLP or
  528. │        it can point (with a complete path) to this type of file with
  529. │        an alternate name.
  530. │        C:\ZIP\           will tell RDS to look for RDS.HLP in C:\ZIP
  531. │        C:\ZIP\MYHELP.OWN will tell RDS to look for MYHELP.OWN in
  532. │                          C:\ZIP
  533. │Relate: None
  534.  
  535.  
  536. │┌─────────────────────────────────────────────────────────────────────┐
  537. ││ MacroExpandBuffer [number]                                          │
  538. │└─────────────────────────────────────────────────────────────────────┘
  539. │Usage : RDS (from 1.20 and up) contains two statements that can stack
  540. │        (generated in case of EXPAND) statements on RDS's own command-
  541. │        stack. The stack has a default size of 100 entries, resulting
  542. │        in 25600 bytes of memory consumption. If this is to many for
  543. │        you and you will never stack that much statements, you can
  544. │        lower the stack to a minimum of 10 (resulting in 2560 bytes
  545. │        of overhead) but remember this. When you use EXPAND for exam-
  546. │        ple in the case of EXPAND COPY *.* C:\TUP (copy all files in
  547. │        the current directory to C:\TUP) and your current directory
  548. │        contains 200 files, stacking will be impossible when you
  549. │        don't have a stack of at least 200 lines. MacroExpandBuffer
  550. │        can be set anywhere between 10 and 1000. The bigger, the more
  551. │        files can be EXPAND'ed or MACRO-files can be bigger. Tradeoff
  552. │        is the memory consumption. 256 bytes-per-line of memory are
  553. │        lost, so 1000 lines will mean 256K !
  554. │Relate: None
  555.  
  556.  
  557.  ┌─────────────────────────────────────────────────────────────────────┐
  558.  │ DSZ [path to DSZ]                                                   │
  559.  └─────────────────────────────────────────────────────────────────────┘
  560.  Usage : This option must be present when you want to use the UPLOAD
  561.          and DOWNLOAD commands under RDS. [path to DSZ] must be the
  562.          fully specified path AND filename of DSZ. You can use both
  563.          the COM and EXE versions, but RDS is only tested with the
  564.          COM version !
  565.  
  566.  Relate: DSZParm
  567.  
  568.  
  569.  ┌─────────────────────────────────────────────────────────────────────┐
  570.  │ DSZParm [path to DSZ]                                               │
  571.  └─────────────────────────────────────────────────────────────────────┘
  572.  Usage : This option must be present when you want specialized para-
  573.          meters for DSZ. By default RDS adds 'pB4096 ha both -m' to the
  574.          sequence of DSZ parameters. If this is not right for your
  575.          implementation, you can add your own options. In this case
  576.          you must supply the DSZParm option with all DSZ options that
  577.          YOU like (or want, or need).
  578.  
  579.  Relate: DSZ
  580.  
  581.  
  582.  ┌─────────────────────────────────────────────────────────────────────┐
  583.  │ RADownText [file]                                                   │
  584.  └─────────────────────────────────────────────────────────────────────┘
  585.  Usage : This option is only valid when you run a Remote Access BBS.
  586.          [file] is a fully specified (and existing) filename of a file
  587.          that contains the text that is displayed to the user when you
  588.          force a Remote Access session down with the KILLNICE option.
  589.  
  590.  Relate: BBSType
  591.  
  592.  
  593.  ┌─────────────────────────────────────────────────────────────────────┐
  594.  │ LogPath [path]                                                      │
  595.  │ LogPath [full path & filename]                                      │
  596.  │ LogPath CURRENT                                                     │
  597.  │ LogPath CURRENT [name]                                              │
  598.  └─────────────────────────────────────────────────────────────────────┘
  599.  Usage : When you want RDS to create a log, you MUST include the path
  600.          to the log-file RDS will create. If this option is NOT
  601.          present, no log is created.
  602.          You must supply a valid path (please, with drive). RDS will
  603.          create RDS.LOG inside this directory !
  604.  
  605.          If you want a log with a name of your own, or you want RDS
  606.          to add its log-records to an already present log-file (this
  607.          could be the log-file of a Mailer or a BBS program), you
  608.          can use the second option. In this case you must supply
  609.          not only the path, but also the name of the log-file.
  610.          If the log-file is not present, RDS will create it, otherwise
  611.          RDS will append to this file.
  612.  
  613.          If you want RDS to create RDS.LOG in the CURRENT directory,
  614.          use the third option. In this case the log is called RDS.LOG
  615.          and this option should be used in multiline/network environ-
  616.          ments;
  617.  
  618.          If you want RDS to create a log with a user-supplied name in
  619.          the current directory, use the fourth option. In this case
  620.          [name] will be created in the CURRENT directory.
  621.  
  622.          With the LogStyleFormat option, you can create your own log-file
  623.          format, so appending to a Mailer-log or BBS-log could be done
  624.          in a neat way !
  625.  
  626.          RDS opens AND closes the log-file with every access. The access
  627.          is under control of SHARE (if this program is present in the
  628.          system). If another task or program has opened the log in a
  629.          way that RDS's access is denied (sharing violation), RDS will
  630.          wait up to 30 seconds (30 retries). If after 30 retries, RDS
  631.          is still unable to write to the log-file, logging of the cur-
  632.          rent action is denied. The action itself is completed. At the
  633.          next action, RDS will try again. The RDS-user is informed of
  634.          the waiting (every second or so), so she/he won't hang the
  635.          line by mistake.
  636.  
  637.          RDS will (when logging is on) log ALL actions in detail. This
  638.          is a handy feature when you want to 'reconstruct' any errors
  639.          that have occurred after someone has used RDS. Please also
  640.          look into the chapter about security !
  641.  
  642.  Relate: LogStyleFormat
  643.  
  644.  
  645.  ┌─────────────────────────────────────────────────────────────────────┐
  646.  │ LogStyleFormat [string]                                             │
  647.  └─────────────────────────────────────────────────────────────────────┘
  648.  Usage : RDS creates several log-records under different conditions.
  649.          You can use the standard log, but Sysop's hate all these
  650.          different log-files (in general). RDS can create customized
  651.          log-records. With these options, you can instruct RDS to
  652.          create records that look the same as the records from your
  653.          mailer or BBS program. The option LogStyleFormat and the
  654.          LogDateFormat/LogTimeFormat combination can be used to define
  655.          the style of the log-records RDS will create for ALL three
  656.          log-files (normal log-file, error log-file and password-list
  657.          log-file). These options are implemented with the idea that
  658.          different log-styles only vary at the start of the records
  659.          and not at the end.
  660.  
  661.          The LogStyleFormat defines the 'structure' of the log-record
  662.          header. The format is free but with three special cases:
  663.          - Blanks must be replaced by underscore characters '_';
  664.          - The part of the record that contains the date must be
  665.            defined with %D (if a date is wanted);
  666.          - The part of the record that contains the time must be
  667.            defined with %T (if a time is wanted);
  668.          - Any extra CRLF combinations (to create a separation
  669.            line) must be defined with ^M;
  670.  
  671.          An example (also read LogDateFormat and LogTimeFormat for
  672.          a description of the time and date functions):
  673.  
  674.          You want to create records that look like this:
  675.  
  676.          +  6 Jan 1990   2:00p   The start of the log
  677.  
  678.          The 'The start of the log' part is constructed by RDS itself,
  679.          so you have only to define the header. This is done as follows:
  680.  
  681.          LogStyleFormat +_%D__%T___         (The _ character replaces
  682.                                             a blank)
  683.          LogDateFormat  DD_nnn_yyyy
  684.          LogTimeFormat  HH:mmt
  685.  
  686.          %D and %T are replaced by RDS with the date and time formats
  687.          as supplied in LogDateFormat and LogTimeFormat. RDS.CTL
  688.          contains a number of examples for the various BBS programs
  689.          and Mailer programs.
  690.  
  691.  
  692.  Relate: LogStartStyleFormat, LogDateFormat, LogTimeFormat
  693.  
  694.  
  695.  ┌─────────────────────────────────────────────────────────────────────┐
  696.  │ LogStartStyleFormat [string]                                        │
  697.  └─────────────────────────────────────────────────────────────────────┘
  698.  Usage : This is an additional option you can use along with the pre-
  699.          vious LogStyleFormat option. Some types of log use a special
  700.          format where the actual date is put into an extra record (with-
  701.          out any further meaning than logging the date). RDS can create
  702.          such a record for you. RDS will put the record with the format
  703.          you supply in LogStartStyleFormat into the log as the first and
  704.          only record for THIS run of RDS. If RDS stops and is started
  705.          again, a new record of this type is written.
  706.          A type of log with this format is found in the FrontDoor <tm>
  707.          mailer.
  708.  
  709.          The options you can use in this logstyle-format are the same
  710.          as with the LogStyleFormat option.
  711.  
  712.  
  713.  Relate: LogStyleFormat, LogDateFormat, LogTimeFormat
  714.  
  715.  
  716.  ┌─────────────────────────────────────────────────────────────────────┐
  717.  │ LogDateFormat [string]                                              │
  718.  └─────────────────────────────────────────────────────────────────────┘
  719.  Usage : LogDateFormat is used to define the 'date part' (actually the
  720.          %D) in the LogStyleFormat option. RDS (in fact some nifty
  721.          routines from TurboPower, credit to those who should have
  722.          the credits) has knowledge of a big number of options to
  723.          define the date. The [string] must be composed of a number
  724.          special letters and (optionally) the separators and spaces
  725.          between the various parts of actual date. In fact [string]
  726.          should be a picture mask. The following characters have a
  727.          meaning in the mask:
  728.  
  729.          m or M       The month (upper case will create leading a
  730.                       leading space as replacement for a zero)
  731.          d or D       The day   (upper case will create leading a
  732.                       leading space as replacement for a zero)
  733.          y or Y       The year  (upper case will create leading a
  734.                       leading space as replacement for a zero)
  735.          n or N       The name of the month (upper case will force
  736.                       an upper case name);
  737.          w or W       The name of the day   (upper case will force
  738.                       an upper case name);
  739.  
  740.          Each character must be repeated as many times as you want
  741.          digits or letters. So '90' for the year 1990 is defined
  742.          with yy and the full year is defined with yyyy. Some
  743.          examples:
  744.  
  745.          mm/dd/yy         01-31-90
  746.          MM/dd/yy          1-31-90
  747.          dd/mm/yyyy       31-01-1990
  748.          dd/mm/yyyy       31-01-1990
  749.          dd NNN yyyy      31 JAN 1990
  750.          dd nnn yy        31 Jan 1990
  751.          dd n yyyy        31 J 1990
  752.          www dd nnn yyyy  Sun 31 Jan 1990
  753.  
  754.          As you can see, lots to experiment with.
  755.  
  756.  
  757.  Relate: LogStyleFormat, LogTimeFormat
  758.  
  759.  
  760.  ┌─────────────────────────────────────────────────────────────────────┐
  761.  │ LogTimeFormat [string]                                              │
  762.  └─────────────────────────────────────────────────────────────────────┘
  763.  Usage : LogTimeFormat is used to define the 'time part' (actually the
  764.          %T) in the LogStyleFormat option. RDS (in fact some nifty
  765.          routines from TurboPower, credit to those who should have
  766.          the credits) has knowledge of a big number of options to
  767.          define the time. The [string] must be composed of a number
  768.          special letters and (optionally) the separators and spaces
  769.          between the various parts of actual date. In fact [string]
  770.          should be a picture mask. The following characters have a
  771.          meaning in the mask:
  772.  
  773.          h or H       The hour    (upper case will create leading a
  774.                       leading space as replacement for a zero)
  775.          m or M       The minute  (upper case will create leading a
  776.                       leading space as replacement for a zero)
  777.          s or S       The seconds (upper case will create leading a
  778.                       leading space as replacement for a zero)
  779.          t or T       'p'/'P' (in PM) or 'a'/'A' (in AM)
  780.          e or E       'm'/'M' (in PM or AM)
  781.  
  782.          Each character must be repeated as many times as you want
  783.          digits or letters. For h/H/m/M/s/S this should be two digits
  784.          to be useful. Some examples:
  785.  
  786.          hh:mm            14:00
  787.          hh:mmt           02:00p
  788.          HH:mmte           2:00pm
  789.          HH:mm:ss         14:00:45
  790.          hh:mm:ss         14:00:45
  791.  
  792.          Again, as you can see, lots to experiment with.
  793.  
  794.  
  795.  Relate: LogStyleFormat, LogDateFormat
  796.  
  797.  
  798.  ┌─────────────────────────────────────────────────────────────────────┐
  799.  │ USER [name of the user as it appears in EXITINFO.BBS]               │
  800.  └─────────────────────────────────────────────────────────────────────┘
  801.  Usage : Now the difficult part. The User option is the start of a
  802.          block (cluster) of secondary commands that can be used in a
  803.          different way for every single user you allow to use RDS.
  804.          The cluster MUST start with the USER option and the cluster
  805.          MUST end with the USEREND option. Between USER and USEREND
  806.          you can place various sub-options that are only valid inside
  807.          the cluster (within the bounds of USER and USEREND).
  808.          There can be as many USER/USEREND clusters as you like. RDS
  809.          will only use (and store) the information for the current
  810.          users. The only limits you have are disk-space and time.
  811.          Time is an important thing to consider. RDS must 'struggle'
  812.          thru every cluster when the door is started for a certain
  813.          user. In a future release I will also supply a default set
  814.          to be used by all users who have access to the door.
  815.  
  816.          The USER option carries 1 parameter. This is the name of
  817.          the user who is allowed to enter RDS. If the RDS.CTL file
  818.          also contains a USER ALL option, the options supplied in
  819.          USER ALL are reset and the options for that specific user
  820.          is used instead.
  821.          The name must be in the same format as it appears in the
  822.          EXITINFO.BBS (in my case Rob Van.hoeven, case is not impor-
  823.          tant) file.
  824.  
  825.          As said earlier. If you allow more than one user (lets say
  826.          the Sysop and the CoSysop), you must define a cluster,
  827.          starting with USER and ending with USEREND, for each user.
  828.          In the supplied RDS.CTL is an example of several users who
  829.          are allowed to go into the door.
  830.  
  831.          The USER ALL option is a special case. If you want to allow
  832.          ALL your users (with the right security level) into RDS with
  833.          (minimal) options, you can supply a USER ALL cluster. The
  834.          values inside the USER ALL cluster are used when there is NO
  835.          specific cluster for the user in question available in RDS.CTL.
  836.  
  837.  Relate: UserEnd and all sub-options
  838.  
  839.  
  840.  ┌─────────────────────────────────────────────────────────────────────┐
  841.  │ UserEnd                                                             │
  842.  └─────────────────────────────────────────────────────────────────────┘
  843.  Usage : Look into the description of the User option. A cluster for
  844.          a certain user MUST end with UserEnd. UserEnd has NO secondary
  845.          parameters. UserEnd must be preceded with (at least) a USER
  846.          option and (optional) some secondary options between USER and
  847.          USEREND.
  848.  
  849.  Relate: User and all sub options
  850.  
  851.  
  852.  ┌───────────────────────────────────────────────────────────┐
  853.  │ UserPassword [password]                                   │ SUBTYPE
  854.  └───────────────────────────────────────────────────────────┘
  855.  Usage : This option is a sub-option and must be coded between a USER
  856.          and USEREND option. It can not be used as a stand-alone option.
  857.  
  858.          This option is used as an extra security block for one or more
  859.          of your users. When you supply this option with a password
  860.          (length from 1 to 8 bytes), the user on the USER option MUST
  861.          enter this password within 3 tries, otherwise access is denied.
  862.  
  863.          This option can also be used within the USER ALL cluster (if
  864.          you have used that cluster).
  865.  
  866.  
  867.  ┌───────────────────────────────────────────────────────────┐
  868.  │ UserDirectory [directory]                                 │ SUBTYPE
  869.  └───────────────────────────────────────────────────────────┘
  870.  Usage : By default, RDS will start in the CURRENT directory. If you
  871.          do not want this, you can supply a start-up directory for
  872.          every single user and/or in the USER ALL cluster.
  873.          If you protect your C:-drive and the CURRENT directory is
  874.          somewhere in C:, the user must ALLWAYS change to another
  875.          drive or directory before any access can be done. If you
  876.          supply an accessable directory as the default directory,
  877.          the user does not have to change to this directory by them
  878.          selfs.
  879.  
  880.          This option can also be used within the USER ALL cluster (if
  881.          you have used that cluster).
  882.  
  883.  
  884.  ┌───────────────────────────────────────────────────────────┐
  885.  │ ExcludeFile [mask]                                        │ SUBTYPE
  886.  └───────────────────────────────────────────────────────────┘
  887.  Usage : This option is a sub-option and must be coded between a USER
  888.          and USEREND option. It can not be used as a stand-alone option.
  889.  
  890.          This option is only in effect for the user that you coded on
  891.          the USER option belonging to the cluster where this option
  892.          will appear.
  893.  
  894.          The ExcludeFile option will give you a method to deny access
  895.          to a file or files you supply in the parameter. [mask] can
  896.          be a single filename but also a filename with wildcards.
  897.          You can supply up to 100 ExcludeFile options PER user. An
  898.          example:
  899.  
  900.          User Rob van.hoeven
  901.               ExcludeFile *.ZIP
  902.               ExcludeFile *.COM
  903.                   ..
  904.                   ..
  905.          UserEnd
  906.  
  907.          In this example, user 'Rob van.hoeven' can not access the
  908.          files with the extensions ZIP and COM. These files will
  909.          be displayed in a DIR but all manipulations (DEL, MOVE,
  910.          COPY, RENAME, TYPE and so on) are denied !
  911.  
  912.  
  913.  ┌───────────────────────────────────────────────────────────┐
  914.  │ ExcludeDirectory [directory]                              │ SUBTYPE
  915.  └───────────────────────────────────────────────────────────┘
  916.  Usage : This option is a sub-option and must be coded between a USER
  917.          and USEREND option. It can not be used as a stand-alone option.
  918.  
  919.          This option is only in effect for the user that you coded on
  920.          the USER option belonging to the cluster where this option
  921.          will appear.
  922.  
  923.          The ExcludeDirectory option will give you a method to
  924.          deny access to a directory you supply in the parameter.
  925.          [directory] must be a fully specified name of a directory
  926.          (so you MUST include the drive-letter).
  927.          You can supply up to 100 ExcludeDirectory options PER user.
  928.          An example:
  929.  
  930.          User Rob van.hoeven
  931.               ExcludeDirectory C:\ZIP
  932.               ExcludeDirectory C:\BBS\RAX
  933.                   ..
  934.                   ..
  935.          UserEnd
  936.  
  937.          In this example, user 'Rob van.hoeven' can not access the
  938.          directories C:\ZIP and C:\BBS\RAX. These files will be
  939.          displayed in a DIR but you can not display the directories
  940.          (with a DIR) itself, nor can you ChDir to them, remove them
  941.          or even make them (if they weren't there at all).
  942.          File access from and to these directories is denied (DEL,
  943.          REN, MOVE, COPY, TYPE and so on) if this was not already
  944.          the case (because of ExcludeFile and/or ExcludeDrive).
  945.  
  946.  
  947.  ┌───────────────────────────────────────────────────────────┐
  948.  │ ExcludeDrive [drive:]                                     │ SUBTYPE
  949.  └───────────────────────────────────────────────────────────┘
  950.  Usage : This option is a sub-option and must be coded between a USER
  951.          and USEREND option. It can not be used as a stand-alone option.
  952.  
  953.          This option is only in effect for the user that you coded on
  954.          the USER option belonging to the cluster where this option
  955.          will appear.
  956.  
  957.          The ExcludeDrive option will give you a method to deny
  958.          access to a whole drive you supply in the parameter.
  959.          [drive:] must be a normal drive-letter like A:, C: and so
  960.          on.
  961.          You can supply up to 26 ExcludeDrive options PER user.
  962.          An example:
  963.  
  964.          User Rob van.hoeven
  965.               ExcludeDrive C:
  966.               ExcludeDrive A:
  967.                   ..
  968.                   ..
  969.          UserEnd
  970.  
  971.          In this example, user 'Rob van.hoeven' can not access the
  972.          drives A: and C:.
  973.          File access from and to these drives is denied (DEL, DIR,
  974.          REN, MOVE, COPY, TYPE and so on) if this was not already
  975.          the case (because of ExcludeFile and/or ExcludeDrive).
  976.  
  977.  
  978.  ┌───────────────────────────────────────────────────────────┐
  979.  │ NoDrive                                                   │ SUBTYPE
  980.  │ NoCls                                                     │ SUBTYPE
  981.  │ NoMem                                                     │ SUBTYPE
  982.  │ NoUserOn                                                  │ SUBTYPE
  983.  │ NoVer                                                     │ SUBTYPE
  984.  │ NoDate                                                    │ SUBTYPE
  985.  │ NoTime                                                    │ SUBTYPE
  986.  │ NoDir                                                     │ SUBTYPE
  987.  │ NoCD                                                      │ SUBTYPE
  988.  │ NoRD                                                      │ SUBTYPE
  989.  │ NoMD                                                      │ SUBTYPE
  990.  │ NoDel                                                     │ SUBTYPE
  991.  │ NoRen                                                     │ SUBTYPE
  992.  │ NoType                                                    │ SUBTYPE
  993.  │ NoRType                                                   │ SUBTYPE
  994.  │ NoCopy                                                    │ SUBTYPE
  995.  │ NoMove                                                    │ SUBTYPE
  996.  │ NoKillNice                                                │ SUBTYPE
  997.  │ NoKillForce                                               │ SUBTYPE
  998.  │ NoBoot                                                    │ SUBTYPE
  999.  │ NoViewArc                                                 │ SUBTYPE
  1000.  │ NoUpload                                                  │ SUBTYPE
  1001.  │ NoDownload                                                │ SUBTYPE
  1002.  │ NoChat                                                    │ SUBTYPE
  1003.  │ NoBeep                                                    │ SUBTYPE
  1004.  │ NoLog                                                     │ SUBTYPE
  1005.  │ NoWhere                                                   │ SUBTYPE
  1006. ││ NoExpand                                                  │ SUBTYPE
  1007. ││ NoMacro                                                   │ SUBTYPE
  1008.  │ Shell                                                     │ SUBTYPE
  1009.  └───────────────────────────────────────────────────────────┘
  1010.  Usage : This option is a sub-option and must be coded between a USER
  1011.          and USEREND option. It can not be used as a stand-alone option.
  1012.  
  1013.          This option is only in effect for the user that you coded on
  1014.          the USER option belonging to the cluster where this option
  1015.          will appear.
  1016.  
  1017.          Each of these options will deny a feature (or command) for
  1018.          this user. They have the following meaning:
  1019.          NoDrive     User can not give C:, D: and so on;
  1020.          NoCls       User can not give CLS
  1021.          NoMem       User can not give MEM
  1022.          NoUserOn    User can not give USERON
  1023.          NoVer       User can not give VER
  1024.          NoDate      User can not give DATE
  1025.          NoTime      User can not give TIME
  1026.          NoDir       User can not give DIR
  1027.          NoCD        User can not give CD or ChDir
  1028.          NoRD         ,,   ,,  ,,  ,,  RD or RmDir
  1029.          NoMD         ,,   ,,  ,,  ,,  MD or MkDir
  1030.          NoDel       User can not give DEL or ERASE
  1031.          NoRen       User can not give REN or RENAME
  1032.          NoType      User can not give TYPE or LIST
  1033.          NoRType     User can not give RTYPE or RLIST
  1034.          NoCopy      User can not give COPY
  1035.          NoMove      User can not give MOVE
  1036.          NoKillNice  User can not use KILLNICE
  1037.          NoKillForce User can not use KILLFORCE
  1038.          NoBoot      User can not use BOOT
  1039.          NoViewArc   User can not use VIEWARC
  1040.          NoUpload    User can not use UPLOAD
  1041.          NoDownload  User can not use DOWNLOAD
  1042.          NoChat      User can not use CHAT (but still receive messages)
  1043.          NoBeep      User can not use BEEP
  1044.          NoLog       User can not use LOG
  1045.          NoWhere     User can not use WHERE
  1046.          NoExpand    User can not use EXPAND
  1047.          NoMacro     User can not use MACRO
  1048.          Shell       User can     use SHELL. The default is NOSHELL !!
  1049.  
  1050.          An example:
  1051.  
  1052.          User Rob van.hoeven
  1053.               NoMEM
  1054.               NoMOVE
  1055.               NoCOPY
  1056.               NoDEL
  1057.               NOREN
  1058.          UserEnd
  1059.  
  1060.          In this example, user 'Rob van.hoeven' can not manipulate
  1061.          files because MOVE, COPY, DEL and REN will not work. Also
  1062.          a display of memory (MEM) will not work.
  1063.  
  1064.  Included in the package is a sample RDS.CTL with a number of users
  1065.  (names do not match real persons <grin>) and what they can or can't
  1066.  do with RDS.
  1067.  
  1068.  
  1069.  3.3 Available commands
  1070.  ────────────────────────────────────────────────────────────────────────
  1071.  Depending on the USER ... USEREND option for that user, the following
  1072.  DOS-commands are available:
  1073.  
  1074.  HELP           See below
  1075.  DIR            A full color directory with pause
  1076.  COPY           A copy of a file
  1077.  MOVE           A move of a file
  1078.  TYPE or LIST   A type of a file
  1079.  RTYPE or RLIST A type of a file but from bottom to start (reversed)
  1080.  REN or RENAME  A rename of a file
  1081.  DEL or ERASE   A delete of a file
  1082.  CLS            Clear the screen
  1083.  MEM            See below
  1084.  VER            Version of DOS (and 4Dos if present)
  1085.  DATE           Get and set system-date
  1086.  TIME           Get and set system-time
  1087.  CD             Change to a directory. This is in fact a CDD. If you
  1088.                 supply a drive along with the path, the drive is also
  1089.                 switched;
  1090.  MD             Make a directory
  1091.  RD             Remove a directory
  1092.  x:             Where 'x' is a drive letter. Switch to this drive;
  1093.  EXIT           Terminate RDS
  1094.  USERON         See below
  1095.  KILLNICE       See below
  1096.  KILLFORCE      See below
  1097.  BOOT           See below
  1098.  VIEWARC        See below
  1099.  UPLOAD         See below
  1100.  DOWNLOAD       See below
  1101.  CHAT           See below
  1102.  TIMELEFT       See below
  1103.  BEEP           See below
  1104.  LOG            See below
  1105.  WHERE          See below
  1106.  SHELL          See below
  1107.  
  1108.  Most of these commands are known to anyone who ever worked with DOS
  1109.  directly. There are a few specific enhancements to the normal subset
  1110.  of DOS-commands. These are:
  1111.  
  1112.  HELP
  1113.  -------------
  1114.  You can use HELP in two ways. First you can use HELP without options
  1115.  and you will get a small list with available commands. Second, you
  1116.  can use HELP with a command (like HELP DIR or HELP MOVE) and you
  1117.  will get a screen full of help info on this specific command (only
  1118.  when the Sysop has implemented all *.RDS files).
  1119.  
  1120.  
  1121.  MEM
  1122.  -------------
  1123.  MEM will give you a display with memory information. The display is
  1124.  made up with four different parts:
  1125.  
  1126.  - Conventional memory
  1127.    The available and total conventional memory in the PC
  1128.  - Expanded memory
  1129.    The available and total expanded (EMS) memory in the PC (if any)
  1130.  - Extended memory
  1131.    The available and total extended (above the 1024K) memory (if any)
  1132.  - XMS memory
  1133.    The available and total memory that is accessed by the XMS driver;
  1134.  
  1135.  Depending on the type of machine and the type of memory drivers you
  1136.  have, some or more values can be ignored. In some machines with QEMM
  1137.  (like mine) and extended memory available, RDS will report that there
  1138.  is no extended memory available. This memory is shared with the num-
  1139.  ber of bytes of XMS memory.
  1140.  
  1141.  USERON
  1142.  -------------
  1143.  This command will only work when you specified the BBSType option as
  1144.  being RA. If this is the case, USERON will give a display of all
  1145.  available RA-lines and their status. Displayed are the names of the
  1146.  users being online, their baud-rate and if they have the 'Do not
  1147.  disturb' option ON or OFF.
  1148.  
  1149.  KILLNICE
  1150.  -------------
  1151.  This command will only work when you specified the BBSType option as
  1152.  being RA and if you supplied a RADOWNTEXT option in RDS.CTL. This
  1153.  being the case, KILLNICE is able to terminate a user in some line.
  1154.  The format you must use is 'KILLNICE [linenumber]'. After entering
  1155.  such a command (lets say for line 3), RDS will copy the file sup-
  1156.  plied in the RADOWNTEXT option to NODExx.RA (in this case NODE03.RA)
  1157.  and will add a 'hangup' sequence after the file. Once in a while, the
  1158.  BBS will look to see if a NODExx.RA is present and will display the
  1159.  text to that user and force the line down. This is not the case when
  1160.  a user is inside a door or an external protocol. You can check if
  1161.  this is the case by giving USERON after 15-20 seconds. If the user
  1162.  is still online, you can be sure she/he is somewhere in a shell. In
  1163.  this case you must use stronger options (KILLFORCE).
  1164.  As you should have understood by now, this command has only meaning
  1165.  in a MULTI-LINE environment where the multiple lines are running on
  1166.  the SAME machine.
  1167.  
  1168.  KILLFORCE
  1169.  -------------
  1170.  This command will work in any type of BBS. If you want to remove a
  1171.  user from another line and you can not use KILLNICE or KILLNICE
  1172.  has no effect (doors and so on, see above), you can enter the
  1173.  KILLFORCE command. The format is 'KILLFORCE [comport]'. This option
  1174.  needs some knowledge about the system. You must know the COM-port
  1175.  of a given line and supply it to KILLFORCE (NOT !! the FOSSIL-port).
  1176.  KILLFORCE will lower the DTR and RTS of the given COM-port. This is
  1177.  done thru the BIOS and not with ASYNCH communications. In fact, the
  1178.  KILLFORCE command blows the given COM-port sky-high for a moment.
  1179.  This can result in a nice bunch of garbage on the remote side because
  1180.  every type of synchronization is gone, but it will damage nothing and
  1181.  it does what you want (the user IS gone).
  1182.  As you should have understood by now, this command has only meaning
  1183.  in a MULTI-LINE environment where the multiple lines are running on
  1184.  the SAME machine.
  1185.  
  1186.  BOOT
  1187.  -------------
  1188.  This is a brutal one. It reboot the machine (warm). You are given
  1189.  15 seconds to make up your mind. After 15 seconds it is to late and
  1190.  the PC is rebooted.
  1191.  You MUST stay online to make the boot work. If between entering the
  1192.  command and the final countdown the carrier is lost, the boot will
  1193.  NOT take place. Also any key will stop the countdown and will bring
  1194.  you back to the RDS-prompt.
  1195.  Some configurations with DesqView/QEMM and a 386 will hang with the
  1196.  boot, so try it out locally before submitting this command to your
  1197.  remote friends and/or CoSysop(s).
  1198.  
  1199.  VIEWARC
  1200.  -------------
  1201.  When this command is used with a valid (fully specified filename),
  1202.  the user will get a view of the archive (if it IS an archive) in
  1203.  question.
  1204.  For ZIP/DWC encryption is also marked in the list, for ZIP there is
  1205.  a mark when the file is AV'ed.
  1206.  The VIEWARC command can be used on archives with normal and abnormal
  1207.  extensions and also on all SFX (COM/EXE) self extracting archives.
  1208.  Archive comments are NOT displayed, neither are (absolute or relative)
  1209.  path entries inside the archives. The CRC (for what it is worth) is
  1210.  also NOT displayed.
  1211.  
  1212.  DOWNLOAD
  1213.  -------------
  1214.  When this command is used with a valid (fully specified filename),
  1215.  the user will be able to start a ZModem download and receive the
  1216.  supplied file. So in the current directory you can download the
  1217.  file A.A with 'DOWNLOAD A.A'.
  1218.  On the RDS side, DSZ <tm> is used, so MobyTurbo <tm> could be available
  1219.  during download;
  1220.  
  1221.  UPLOAD
  1222.  -------------
  1223.  When this command is used with a valid (fully specified filename),
  1224.  the user will be able to start a ZModem upload and send a file that
  1225.  will be received under the specified name. Multiple upload is NOT
  1226.  available (security !!) and the file is ALWAYS forced to the supplied
  1227.  name (also security !!). Resume is possible.
  1228.  On the RDS side, DSZ <tm> is used, so MobyTurbo <tm> could be available
  1229.  during upload;
  1230.  
  1231.  CHAT
  1232.  -------------
  1233.  When this command is used, you can chat with any other line (also
  1234.  with yourself, makes fun, doesn't it ?). This function is only
  1235.  present under Remote Access and only when /N is used in the RDS
  1236.  call on the menu-entry.
  1237.  
  1238.  TIMELEFT
  1239.  -------------
  1240.  This function will display the remaining time. RDS will display
  1241.  the time left for this session. This time is between 1 and 2
  1242.  minutes less than the actual time because accessing RDS within
  1243.  2 minutes before the end of the session-time is impossible.
  1244.  
  1245.  BEEP
  1246.  -------------
  1247.  This command can be used to attract the Sysop's attention. When
  1248.  BEEP is given on the command-line, the Sysop will be bothered
  1249.  with a nice tune of beeps. If she/he wants to chat with you, she/he
  1250.  can enter a message on your command-line (locally) f.i. to exit RDS
  1251.  and to continue chat in a normal chat-door.
  1252.  
  1253.  LOG
  1254.  -------------
  1255.  If you want to send a message to the Sysop, you can enter LOG with
  1256.  a text and RDS will send this message to the RDS-log. The Sysop can
  1257.  check the log (if she/he does so) and answer you (if needed/wanted)
  1258.  with a message in the BBS.
  1259.  
  1260.  WHERE
  1261.  -------------
  1262.  With this command you can search the CURRENT drive for a file or a
  1263.  number of files. You must supply a valid DOS-filemask and RDS will
  1264.  search the CURRENT drive for matching files. They are displayed to
  1265.  the user, along with the directory they are in.
  1266.  
  1267. │MACRO
  1268. │-------------
  1269. │See the chapter on macro's, expansion and command stacking.
  1270. │EXPAND
  1271. │-------------
  1272. │See the chapter on macro's, expansion and command stacking.
  1273.  
  1274.  SHELL
  1275.  -------------
  1276.  This is a VERY DANGEROUS command and should only be supplied to users
  1277.  you trust (CoSysop, yourself (?)). SHELL will execute the program
  1278.  you supply as first parameter (you can include drive and path if you
  1279.  want) and uses the parameter(s) (if any) following the programname
  1280.  as calling parameters for this program. There are TWO drawbacks in
  1281.  this command:
  1282.  
  1283.  -1) The called program can not access any input, so the program must
  1284.      be able to execute without user-input. Even a program as PKZIP
  1285.      uses input if you call it with invalid parameters or needs to
  1286.      overwrite files. If RDS calls such a program, the session will
  1287.      hang forever because you can never enter the input for the
  1288.      program. For this reason, RDS will set the FOSSIL-watchdog to
  1289.      ON if a program is called. If the carrier is lost (after the
  1290.      user will hangup the line), the FOSSIL wil reboot the system
  1291.      (please run a test !!!).
  1292.      RDS tries to overcome some minor errors made by the user. If
  1293.      the user enters SHELL PKZIP -A$^&*&(()&^ TEST D*.* (some gar-
  1294.      bage on the line), PKZIP will display it's info and waits for
  1295.      a CRLF to terminate. Before RDS calls the program, 15 times
  1296.      [RETURN] is stuffed into the local keyboard, so PKZIP will (in
  1297.      THIS case) terminate. This will not fix problems like 'Over-
  1298.      write file [y/n]' !!!!!;
  1299.  
  1300.  -2) The called program should not access non-bios (e.g. direct)
  1301.      output. If the program does use direct screen control, the
  1302.      program can be executed, but the results can not be viewed
  1303.      inside RDS.
  1304.      If the programs uses normal standard devices, RDS will display
  1305.      (after termination) the output to the local and remote screen.
  1306.      RDS will route the output of the program to a temporary file
  1307.      (>RDS$$$$$.CAL) and will display this file after the execution
  1308.      is completed;
  1309.  
  1310.  There are several programs that could be very usefull to execute.
  1311.  The archivers (watch out for prompts !!), the fossil driver (XU or
  1312.  some other program), tossing, scanning (these utilities should work
  1313.  unattended, shouldn't they ??) and so on;
  1314.  
  1315.  
  1316.  RDS will always return in the directory it was started from after the
  1317.  user enters EXIT, unless a UserDirectory is active. In this case, RDS
  1318.  will return to the directory that was current when RDS was CALLED !
  1319.  
  1320.  
  1321.  
  1322.  3.4 Security
  1323.  ────────────────────────────────────────────────────────────────────────
  1324.  As you have understand by now, RDS is capable of securing the shell
  1325.  for each and every single user.
  1326.  
  1327.  A few hints to concern about when setting up the security inside the
  1328.  USER-USEREND clusters:
  1329.  
  1330.  - If you want to know everything about what users (or yourself, or
  1331.    the CoSysop) have done, than consider to secure the LOG-file
  1332.    with a ExcludeFile [the log file] option, otherwise these users
  1333.    can cover their deeds by deleting the log or replacing it with a
  1334.    'dummy' log;
  1335.  - If you want real security, then you must protect the RDS.CTL also.
  1336.    There is nothing more simple than a user (having the COPY feature)
  1337.    to upload a 'customized' RDS.CTL their selfs and to replace the
  1338.    original one with the one of their own. So be warned !!!!
  1339.  - It is a good practice to also secure the RDS.EXE program itself
  1340.    from any ill-behavior. Old chinese wisdom will say:
  1341.    'If there is a leak, a BBS-user will use it' and also Murphy told
  1342.    us some stories about 'When you are able to accidently delete the
  1343.    RDS.EXE file, it will be deleted'.
  1344.  - Protect personal things unless your CoSysop (or someone else you
  1345.    give RDS features) knows as much about you as you know yourself;
  1346.  - Don't allow your shrink to use RDS. He will find out that the way
  1347.    you set up your directories has something to do with Freud;
  1348.  - If you allow many users directly after you have installed RDS, be
  1349.    sure to have a backup-copy available. Work with a small group of
  1350.    people (at least in the beginning) or use the USER ALL with mini-
  1351.    mal options.
  1352.  - Study the LOG once in a while, and set it to ON in the beginning.
  1353.    In this way you can learn from your friendly CoSysop what to in-
  1354.    clude and what to exclude <grin>.
  1355.  - It is good practice to secure your 'power users' (like those nasty
  1356.    CoSysop's and such people) with a RDS-password. If someone snatches
  1357.    your USERS.BBS (sometimes your USERS.BBS is wide open, check out your
  1358.    bi-directional protocols and such programs) and does a logon under
  1359.    your name or the CoSysop's name, you can be sure that everything is
  1360.    lost EVEN when there is no FORMAT statement in RDS (MOVE, DELETE,
  1361.    RENAME and COPY will do the job just fine);
  1362.  - DON'T give away the SHELL feature. A nice option, but only for the
  1363.    trusted user (SHELL FORMAT C: /U to name one) ! NoShell is default
  1364.    so you must include SHELL for you and your CoSysop in the USER-
  1365.    USEREND cluster !!!
  1366.  
  1367.  
  1368.  
  1369. │3.5 Macro's, expansion and command-stacking
  1370. │────────────────────────────────────────────────────────────────────────
  1371. │Why not implement wildcard support on those commands that can use it.
  1372. │This question has to do with security. To keep the memory resources
  1373. │tight, there are generalized security routines implemented that work
  1374. │on single files. Also, in a BBS environment, wildcards can be handy
  1375. │but not used much. Can you see a CoSysop deleting all your files in
  1376. │one of your directories without having to think about it ? That is
  1377. │one of the several reasons that only single-file commands are imple-
  1378. │mented. The security stucture is based on this algorithm, so are the
  1379. │memory requirements. Implementing wildcards on any command causes a
  1380. │large algorithm to be triggered to test if every request is valid or
  1381. │not (imagine something like COPY *.* E:\ZIP\*.ZIP). Besides the pro-
  1382. │blems with the rename (that part will be implemented in the next
  1383. │major command) on these 'global' commands like COPY, RENAME and MOVE,
  1384. │RDS has to check every source and every target to see if this is what
  1385. │the user is allowed to do.
  1386. │To support wildcards and to implement macros (as available in this
  1387. │version) in some sort of way, RDS now has a command-stack. Some
  1388. │basics on this command-stack.
  1389. │Before RDS checks for the next command to be entered by the user, RDS
  1390. │will check a buffer to see if there is a command (a normal RDS command)
  1391. │available in this buffer. If it is, RDS wil skip (for now) the next
  1392. │user-input and starts with this command. When the command is ready,
  1393. │RDS will delete it from the top of buffer and shift the remainder of
  1394. │the buffer one place back (FIFO-buffer). This routine stays active un-
  1395. │til there are no commands left in the buffer (empty buffer). If this
  1396. │is the case RDS will, as normal, ask the user for input.
  1397. │Two RDS commands can fill the buffer. These are EXPAND and MACRO.
  1398. │Each of the commands will add commands to the buffer from the top.
  1399. │This will always be done with the following algorithm (IMPORTANT, be-
  1400. │cause this will give you knowledge of how MACRO and EXPAND wil act
  1401. │when they are nested:
  1402. │In case of buffer-empty:
  1403. │- EXPAND or MACRO knows how many commands are to be added to the
  1404. │  buffer and will add them from top to bottom;
  1405. │In case of buffer-active (commands in the buffer):
  1406. │- The first thing to know is that the MACRO or EXPAND was already on
  1407. │  the buffer as a command. The user can not enter into the buffer
  1408. │  when there are commands in the buffer, so the MACRO or EXPAND was
  1409. │  already on the buffer;
  1410. │- EXPAND or MACRO know how many lines to add to the buffer, BUT these
  1411. │  commands are, again, inserted at the TOP of the buffer. So the
  1412. │  buffer acts as a LIFO (last in, first out) when a MACRO or EXPAND
  1413. │  command is taken from the buffer;
  1414. │- All remaining commands in the buffer (if any) will shift to the
  1415. │  end of the inserted lines.
  1416. │RDS will check if there is enough room to add commands to the buffer,
  1417. │but RDS will not take into account if the room is occupied with other
  1418. │commands. In plain language. If your buffer is 10 lines and there are
  1419. │5 lines (EXPAND, COPY, COPY, DEL, RENAME for example) and the EXPAND,
  1420. │that is executed first, will generate 12 new commands, EXPAND will
  1421. │fail. If EXPAND generates 4 lines, they are inserted at the top,
  1422. │resulting in the RENAME, DEL and last COPY to be shifted from the
  1423. │buffer. This last situation is NOT detected by RDS (yet). I will
  1424. │give an example at the end of this chapter.
  1425. │Now you know that RDS has a command-stack, explaining MACRO is very
  1426. │simple. You create one (or more) macro-files or the user uses UPLOAD
  1427. │to upload a macro. The macro-file is a plain ASCII file, containing
  1428. │a RDS command on each of the lines in the file. An example:
  1429. │COPY TURBO.EXE E:\ZIP
  1430. │RENAME TURBO.EXE TURBO.BAK
  1431. │MOVE E:\ZIP\MACRO.EXE
  1432. │This macro contains 3 RDS statements in three different lines. The
  1433. │macro-file can be as big (but NOT bigger) than the total number of
  1434. │lines in the buffer (as set with the MacroExpandBuffer option). The
  1435. │file is called MACRO1.DAT for example. So when you enter the command
  1436. │MACRO C:\TUP\MACRO1.DAT (or MACRO MACRO1.DAT if the macro is in the
  1437. │current directory), RDS will read MACRO1.DAT and then execute the
  1438. │three commands (COPY, RENAME and MOVE) in the order they were in the
  1439. │macro-file. You CAN nest macro-files as long as you remember not to
  1440. │overflow the buffer (see example at the end).
  1441. │EXPAND has nothing to do with macro's but act the same. EXPAND also
  1442. │uses the command-stack in RDS. EXPAND can be used to implement wild-
  1443. │cards in certain commands. These commands are DEL, TYPE, VIEWARC,
  1444. │RTYPE, DOWNLOAD, COPY, MOVE and their alias (ERASE, LIST, RLIST).
  1445. │How EXPAND works can be showed best with an example. You would like
  1446. │to delete ALL files with *.BAK in the directory E:\ZIP. Normally,
  1447. │you should use DIR *.BAK and delete every single file. With EXPAND
  1448. │you use 'EXPAND DIR *.BAK' (without quotes). Now the following things
  1449. │will happen:
  1450. │- EXPAND will check for all files with that mask in that directory;
  1451. │- EXPAND will create a command 'DEL filename' for every found file
  1452. │  in that directory on the command-stack;
  1453. │- EXPAND will terminate and the command-stack now contains commands
  1454. │  that will be executed at once.
  1455. │RDS will, as normal, check every single 'DEL' command for valid data.
  1456. │So if the files TURBO.BAK, RA.BAK and QB.BAK are found (and commands
  1457. │are generated) and the user is NOT allowed to access files with QB.*,
  1458. │the 'DEL QB.BAK' will fail and the others will work. RDS will keep
  1459. │full security on each of the generated commands.
  1460. │There are a few drawbacks in EXPAND:
  1461. │- When used with COPY and MOVE, EXPAND will only work when the target
  1462. │  is a directory (so no renaming while COPY/MOVE). So the command
  1463. │  'EXPAND COPY *.* E:\ZIP\' is valid but 'EXPAND COPY *.BAK *.OLD'
  1464. │  is invalid (*.OLD is no directory). This drawback will be fixed in
  1465. │  one of the next majors;
  1466. │- When used with DOWNLOAD, EXPAND will create separate DOWNLOAD com-
  1467. │  mands, causing ill-behaviour of the command because after the trans-
  1468. │  mission of a single file, DOWNLOAD is terminated and the next is
  1469. │  started. This will also be fixed in the next major;
  1470. │EXPAND is a powerfull command and MACRO can also be very usefull. The
  1471. │combination of both is valid in case of EXPAND commands inserted in-
  1472. │side a macro file, but not valid in case of MACRO in EXPAND (like
  1473. │'EXPAND MACRO *.MAC'.
  1474. │Now an example. There are two macro-files (the statements are all
  1475. │humbug) MACRO1.MAC and MACRO2.MAC:
  1476. │MACRO1.MAC              COPY A.A B.B
  1477. │                        MACRO MACRO2.MAC
  1478. │                        TYPE B.B
  1479. │MACRO2.MAC              TYPE A.A
  1480. │                        EXPAND COPY *.* E:\ZIP
  1481. │The execution is as follows when MACRO MACRO1.MAC is entered at the
  1482. │RDS command-line:
  1483. │- COPY A.A B.B
  1484. │- MACRO MACRO2.MAC       (the macro2.mac is INSERTED in the stack)
  1485. │- TYPE A.A
  1486. │- EXPAND COPY *.* E:\ZIP (this command generates 2 statements    )
  1487. │- COPY A.A E:\ZIP\A.A    (generated by EXPAND                    )
  1488. │- COPY B.B E:\ZIP\B.B    (generated by EXPAND                    )
  1489. │- TYPE B.B
  1490. │Play around with EXPAND and MACRO. The next majors will enhance their
  1491. │functions again. Last but not least, you can deny the usage of EXPAND
  1492. │and/or MACRO, just like with all other commands.
  1493. │3.6 Help file format
  1494. │────────────────────────────────────────────────────────────────────────
  1495. │Up from release 1.20, RDS makes use of only one help file (previous
  1496. │versions used a help-file per command). You can alter the supplied
  1497. │example of the RDS.HLP file to your own needs. To do so, you must
  1498. │understand the basic formats that are used by RDS when reading this
  1499. │help-file:
  1500. │- RDS read the RDS.HLP file sequential. For speed gain, you should put
  1501. │  the help-information that is accessed most (e.g. NOT COPY,DEL,MOVE)
  1502. │  at the start of the file;
  1503. │- RDS read each line and compares the first 10 bytes (trimmed with
  1504. │  trailing spaces) with the command you would like to have help on.
  1505. │  RDS translates some commands. LIST and RLIST are translated to
  1506. │  TYPE and RTYPE, ERASE is translated to DEL, REN to rename and such
  1507. │  (look into the original RDS.HLP example-file. It contains all the
  1508. │  valid commands);
  1509. │- The next 78 bytes are written to the screen. If you use shorter
  1510. │  lines, RDS will fill them to 78 bytes, longer lines are truncated
  1511. │  between the 78th and 79th position;
  1512. │- Lines containing 'ALL       ' in the first 10 positions are always
  1513. │  displayed (you can use them for headers and such);
  1514. │- Characters in the first 10 positions must be in uppercase;
  1515. │- Help-screens are diplayed without pause, so keep the length of the
  1516. │  help-text inside a logical screen (19 lines) otherwise scrolling
  1517. │  will be the case;
  1518. │The current help features are extended in the next major release.
  1519. │This release will probably contain overlays and swapping techniques
  1520. │to gain memory (for shell, and more new features/commands on RDS)
  1521. │and some of the memory gain will be used to make the HELP function
  1522. │more intelligent both to the user and the SysOp.
  1523.  
  1524.  ┌───────┬─────────────────────────────────────────────────────────────┐
  1525.  │   4   │ Runtime information                                         │
  1526.  └───────┴─────────────────────────────────────────────────────────────┘
  1527.  
  1528.  4.1 While inside the RDS shell
  1529.  ────────────────────────────────────────────────────────────────────────
  1530.  RDS works just like a normal DOS-prompt ($P$G) in a regular DOS-envi-
  1531.  ronment. All commands can be entered just like you do while inside
  1532.  the normal DOS-shell. RDS expands the entered items (paths, drives,
  1533.  file) to full pathnames. The only thing you can't work with (at the
  1534.  moment) is with wildcards, so all actions you enter must be done on
  1535.  single files !
  1536.  
  1537.  To help you with tedious keyboard access when you must copy, move
  1538.  or delete multiple files in long paths, RDS contains a special buf-
  1539.  fer with the last 100 (!) commands you entered.
  1540.  
  1541.  Locally you can recall these commands by pressing the UP-key until
  1542.  you find a command that suits your needs. Remote the UP-key does
  1543.  not work but there you have three other options to recall the
  1544.  commands in the buffer:
  1545.  
  1546.  - By pressing REC or RECALL
  1547.    When you enter REC (or RECALL) you get the previous command (if
  1548.    any) on the command-line. To scroll thru the buffer you must
  1549.    (after each command) clear the line and enter REC again. REC is
  1550.    only useful when you want to recall the LAST command;
  1551.  
  1552.  - By pressing CTRL-E
  1553.    Most users of full-screen message editors will know this command.
  1554.    When you send a CTRL-E from the remote computer, RDS will act the
  1555.    same as with the UP-key on the local computer. Even when the com-
  1556.    mand-line is not empty, pressing CTRL-E will scroll back one com-
  1557.    mand at a time until no more commands (up to 100) are left. This
  1558.    is the preferred method when scrolling back multiple commands;
  1559.  
  1560.  If you don't know anymore which commands can be used with RDS then
  1561.  you should enter ? or HELP to get a display with all available
  1562.  commands. When you enter an empty line, RDS will also remember you
  1563.  to use ? or HELP to obtain all commands on the screen.
  1564.  
  1565.  
  1566.  4.2 LOG file
  1567.  ────────────────────────────────────────────────────────────────────────
  1568.  RDS makes a log of almost everything (unless you do not specify the
  1569.  LogPath option in the RDS.CTL). You can always browse thru the log
  1570.  with a normal file-browse utility like Mr. Buerg's LIST.
  1571.  
  1572.  The log-style can be adjusted to the users need with four different
  1573.  options (see the description of RDS.CTL).
  1574.  Also you can combine the log with an existing log-file like the log
  1575.  your mailer produces or the BBS-log. In a multitasking environment
  1576.  (when you loaded SHARE), RDS will serialize the LOG when it has to
  1577.  write to it. This is needed to overcome the problem of trashed log-
  1578.  files or lost clusters when two or more tasks try to write to the
  1579.  same log.
  1580.  
  1581.  Depending on the users actions, the RDS.LOG file can get very large.
  1582.  If you delete your current log-file, RDS will create a new one the
  1583.  next time it is started and finds that there is no log-file anymore.
  1584.  
  1585.  If you allow your users to use the LOG command, it should be advised
  1586.  to make the RDS-logging active, otherwise the users messages will be
  1587.  send into the Twilight Zone.
  1588.  
  1589.  
  1590.  4.3 Errors
  1591.  ────────────────────────────────────────────────────────────────────────
  1592.  Every time RDS is started, it will check the options in RDS.CTL. If
  1593.  one or more of the options is invalid, RDS will terminate with a
  1594.  local display (and if the log-file is already known to RDS, by put-
  1595.  ting an entry in the log-file).
  1596.  
  1597.  RDS will also terminate if a user is not allowed to enter the door
  1598.  (no USER-USEREND combination for that user) and when the carrier is
  1599.  lost while RDS is active. RDS will NOT use any watchdog that is
  1600.  present in your FOSSIL.
  1601.  
  1602.  
  1603.  4.4 Specialized command-line options
  1604.  ────────────────────────────────────────────────────────────────────────
  1605.  RDS understands some command-line parameters that can (or must) be
  1606.  entered on the call to RDS (inside the menu-entry or a batch file).
  1607.  
  1608.  /CTL[alternate CTL]
  1609.  -------------------
  1610.  You can use an alternate configuration file. In this case you can add
  1611.  the /CTL command-line option with the path (and name) of the alternate
  1612.  configuration file.
  1613.  
  1614.  /N[line]
  1615.  -------------------
  1616.  You must specify /N*N on a RA menu entry to enable the CHAT option.
  1617.  RA will substitute the numeric line-number at the location of *N.
  1618.  Under a different BBS, the usage of /N has no meaning.
  1619.  
  1620.  /LOC
  1621.  -------------------
  1622.  You can run RDS locally (from the DOS-prompt) without the files
  1623.  EXITINFO.BBS and DORINFO1.DEF present when you supply /LOC on the
  1624.  command-line.
  1625.  
  1626.  ┌───────┬─────────────────────────────────────────────────────────────┐
  1627.  │   5   │ Version information and credits                             │
  1628.  └───────┴─────────────────────────────────────────────────────────────┘
  1629.  
  1630.  5.1 The BETA-team
  1631.  ────────────────────────────────────────────────────────────────────────
  1632.  The following Sysop's and their CoSysop's (only if they use the same
  1633.  BBS or a NON-user (closed) shadow BBS) are allowed to make use of the
  1634.  BETA-releases on their own risk:
  1635.  
  1636.  - Remote Access Multiline/Multiport Paradise        2:512/100 (*)
  1637.    Sysop: Reinier De Groot
  1638.  
  1639.  - GOLEM Service BBS                                 2:242/4
  1640.    Sysop: Hanstheo Wolf
  1641.  
  1642.  - Sirex BBS                                         2:280/216
  1643.    Sysop: Gerry Ulrich
  1644.  
  1645.  - Funboard BBS
  1646.    Sysop: Dirk Astrath                               2:244/12
  1647.  
  1648.  - Amber Shadow
  1649.    Sysop: Dave Overton                               1:203/998
  1650.  
  1651.  The BBS marked with (*) will always test the newest version and is
  1652.  also the main distribution node for the DISP files. Also mail to me
  1653.  can be send to this system. The other BBS's are asked, if they like,
  1654.  to test the new versions, but if there is no time, or if they find
  1655.  the risk to high I don't mind. I would be pleased though, if these
  1656.  BBS's would like to look into the new BETA version.
  1657.  
  1658.  
  1659.  5.2 Credits
  1660.  ────────────────────────────────────────────────────────────────────────
  1661.  Thanks to the following people:
  1662.  
  1663.  - Rob Lirb who told me I couldn't write a simple remote DOS-shell in
  1664.    less than 15 minutes (he was right, it took me 20 minutes). The
  1665.    program you see now, took me somewhat (!) longer than 20 minutes
  1666.    though;
  1667.  - Reinier de Groot for his suggestions on the initial alpha release;
  1668.  - The Beta-team who didn't got a beta-version before version 1.01;
  1669.  
  1670.  
  1671.  5.3 Version history
  1672.  ────────────────────────────────────────────────────────────────────────
  1673.  
  1674.  ┌───────┬────────────────────────────┐
  1675.  │ 1.01  │ First public release       │
  1676.  └───────┴────────────────────────────┘
  1677.   ■ New release
  1678.  
  1679.  ┌───────┬────────────────────────────┐
  1680.  │ 1.02  │ Minor release              │
  1681.  └───────┴────────────────────────────┘
  1682.   ■ Fixed problem with special keys. Users were not allowed to enter
  1683.     key-values in the range 129-255. This is a major drawback for
  1684.     our (amongst others) German and Scandinavian users. The combi-
  1685.     nations must be send to RDS as the key-value, ALT-key-key-key
  1686.     combination as found on the DOS-prompt and some editors is not
  1687.     (yet) implemented.
  1688.     Suggested by: Dirk Astrath
  1689.  
  1690.   ■ Users who tried to TYPE/LIST the RDS.LOG were in for a surprise.
  1691.     RDS would keep the LOG open while TYPE was executed. This is now
  1692.     fixed.
  1693.     Reported by: Dirk Astrath
  1694.  
  1695.   ■ The usage of standard devices AUX, CON, NUL, PRN, LPTx and COMx
  1696.     is now forbidden. This was a big hole in the file access and
  1697.     could cause hangups.
  1698.     Authors modification
  1699.  
  1700.   ■ When displaying HELP, the user got ALL options, also those that
  1701.     were disabled. This is fixed. Users now only get help on the
  1702.     available commands.
  1703.     Reported by: Dirk Astrath
  1704.  
  1705.   ■ The LogPath option is enhanced so multiline users can use
  1706.     different logs per logical line.
  1707.     Suggested by: Dirk Astrath
  1708.  
  1709.   ■ There was an error in the (undocumented) usage of the RDS environ-
  1710.     ment variable. Both documentation and program are fixed.
  1711.     Authors modification
  1712.  
  1713.   ■ RDS can now be called with an alternative CTL-file as an option
  1714.     on the command-line.
  1715.     Authors modification
  1716.  
  1717.   ■ Even if you protect RDS with a security level or when you disable
  1718.     options for special users, you can still secure these users with
  1719.     a special RDS-password. User must (in that case) enter the pass-
  1720.     word within 3 tries otherwise entering RDS is not allowed. Look
  1721.     into the documentation about the USER option.
  1722.     Suggested by: Gerry Ulrich
  1723.  
  1724.   ■ Users who are tired entering new users to RDS.CTL will be pleased
  1725.     with the ALL enhancement. Check out the USER option.
  1726.     Authors modification
  1727.  
  1728.   ■ RDS is now more or less aware of the new RA 1.00 USERON.BBS file.
  1729.     Until this info is official, this will stay 'more or less'.
  1730.     Authors modification
  1731.  
  1732.   ■ Added a new command VIEWARC to view the contents of ZIP, ARC, PAK,
  1733.     PKPAK, LHarc, Larc, MD, DWC, ZOO, LBR archives.
  1734.     Authors modification
  1735.  
  1736.  ┌───────┬────────────────────────────┐
  1737.  │ 1.05  │ Minor release              │
  1738.  └───────┴────────────────────────────┘
  1739.   ■ Fixed some problems with EXITINFO.BBS and DORINFO1.DEF files and
  1740.     created a local mode (/LOC);
  1741.     Reported by: Rob Ramselaar
  1742.  
  1743.   ■ Fixed a bug in MOVE (with /D);
  1744.  
  1745.   ■ Removed some duplicate coding;
  1746.  
  1747.   ■ Enhanced the HELP function with a context HELP function;
  1748.  
  1749.   ■ There was no way to create a file (batch-file or something of the
  1750.     kind) inside RDS. The COPY CON [tofile] is now implemented. The
  1751.     user can input characters and/or lines and these are echoed to
  1752.     the [tofile] file. Editing must be terminated with CTRL-Z (both
  1753.     remote and local);
  1754.  
  1755.   ■ Added specific support for only RA and QBBS and/or BBS types that
  1756.     use EXITINFO.BBS and DORINFO1.DEF;
  1757.  
  1758.   ■ Added /N[line] option to support CHAT under Remote Access;
  1759.  
  1760.   ■ Added the RTYPE/RLIST option to read a file reversed;
  1761.     Suggested by: Dieter Baumgartner
  1762.  
  1763.   ■ Added the CHAT function to send messages to other lines under
  1764.     Remote Access. Also messages send to your own line (don't forget
  1765.     /N*N in the menu-call) are echoed to the RDS-screen, so internode
  1766.     chat is available while in RDS;
  1767.  
  1768.   ■ Added the UPLOAD and DOWNLOAD functions so you can upload and/or
  1769.     download a file while inside RDS. This option needs DSZ to perform
  1770.     the transfer.
  1771.     Added the DSZ and DSZParm options in RDS.CTL to support these
  1772.     functions;
  1773.  
  1774.   ■ Added a time-out test in RDS. When the user does not input any
  1775.     character within 5 minutes, RDS terminates. Also carrier is
  1776.     tested everywhere, so the WATCHDOG function is disabled in RDS.
  1777.     RDS will not reboot when the user drops the carrier;
  1778.  
  1779.   ■ Added a test on the remaining time. RDS will terminate 1 minute
  1780.     before the BBS-session will end. Also access to RDS is impossible
  1781.     within 2 minutes before the session ends;
  1782.     Suggested by: Franco Mulato
  1783.  
  1784.   ■ Added the TIMELEFT command to display the remaining session
  1785.     time.
  1786.  
  1787.  ┌───────┬────────────────────────────┐
  1788.  │ 1.06  │ Minor release              │
  1789.  └───────┴────────────────────────────┘
  1790.   ■ Fixed an error in the RA (1.xx and up) USERON command. Both
  1791.     message and ul/dl would display as ul/dl.
  1792.  
  1793.   ■ Added the SHELL option and SHELL command in the USER-USEREND
  1794.     clusters. Users can now shell a program such as the archivers
  1795.     and other utilities but under certain conditions;
  1796.  
  1797.   ■ Added the HelpDirectory option for those users who are low in
  1798.     environment space and who can not add the directory containing
  1799.     the *.RDS files to the DOS-path;
  1800.  
  1801.  ┌───────┬────────────────────────────┐
  1802.  │ 1.10  │ Minor release              │
  1803.  └───────┴────────────────────────────┘
  1804.   ■ Fixed an error in the UserPassword option. In some cases a user
  1805.     could be prompted for a password while this was not set in the
  1806.     RDS.CTL. In that case a previous USER ALL cluster contained a
  1807.     UserPassword option.
  1808.  
  1809.   ■ Added ARJ and HYPER to the VIEWARC options. Files inside archives
  1810.     of this kind will also be displayed.
  1811.  
  1812.   ■ Added DefaultDirectory option so a user can land in a different
  1813.     directory than the current right from the start;
  1814.     Suggested by: Peter Burnett
  1815.  
  1816.   ■ Added LOG option to let the user write a message to the log;
  1817.     Suggested by: Robert C.L. Lirb
  1818.  
  1819.   ■ Added BEEP option to let the user beep the Sysop (if available);
  1820.  
  1821.   ■ Added WHERE option to search files on the current drive;
  1822.  
  1823.   ■ Added /W to the DIR option to display a condensed listing of the
  1824.     files in a directory.
  1825.     Suggested by: Robert C.L. Lirb
  1826.  
  1827.  ┌───────┬────────────────────────────┐
  1828.  │ 1.20  │ Minor release              │
  1829.  └───────┴────────────────────────────┘
  1830.   ■ Fixed a bug in the MEM command. MEM did not show the memory usage
  1831.     of RDS itself. This is fixed. MEM will now give the REMAINING
  1832.     conventional memory.
  1833.  
  1834.   ■ Changed registration;
  1835.  
  1836.   ■ Changed the *.RDS help-files to one new RDS.HLP file, containing
  1837.     all help;
  1838.  
  1839.   ■ Added EXPAND command;
  1840.  
  1841.   ■ Added MACRO command;
  1842.  
  1843.  RDS is tested with several releases of MS/DOS and with Remote Access
  1844.  version 0.04 and 1.00/Cß.
  1845.  
  1846.  
  1847.  5.4 Copyright, Trademarks
  1848.  ────────────────────────────────────────────────────────────────────────
  1849.  4Dos          is a trademark of J.P. Software / R.C. Conn and T. Rawson
  1850.  MS/DOS        is a trademark of Microsoft
  1851.  Remote Access is a trademark of Continental Software
  1852.  DSZ           is a trademark of Omen Technology
  1853.  MobyTurbo     is a trademark of Omen Technology
  1854.  DesqView      is a trademark of Quarterdeck
  1855.  QEMM          is a trademark of Quarterdeck
  1856.  X00 and XU    are trademarks of Ray Gwinn
  1857.  
  1858.  RDS is written in Turbo Pascal 5.5, with help of the Turbo Debugger 2.0
  1859.  and makes extensive use of Object Professional 1.03 and TPCFI 9.04;
  1860.  
  1861.  Turbo Pascal        is a trademark of Borland International
  1862.  Turbo Debugger      is a trademark of Borland International
  1863.  Object Professional is a trademark of TurboPower Inc.
  1864.  TPCFI               is a trademark of Robert W. van Hoeven
  1865.                     [---- END OF DOCUMENT ----]
  1866.